package com.wiznbiz.util;

import java.io.*;

/**
 * 일반 Utility 클래스
 * @author Administrator
 *
 */
public class Util {
	
	/**
	 * 배열 index값 가져오는 메소드
	 * 
	 * @param array
	 * @param value
	 * @return
	 */
	public static int getArrayIndex(String[] array, String value){
		int idx = -1;
		try{
			for(int i=0; i<array.length; i++){
				if(value.equals(array[i])){
					idx = i;
					break;
				}
			}
		}catch(Exception e){
			idx = -1;
		}
		return idx;
	}
	
	/**
	 * 배열 index값 가져오는 메소드
	 * 
	 * @param array
	 * @param value
	 * @return
	 */
	public static int getArrayIndex(int[] array, int value){
		int idx = -1;
		try{
			for(int i=0; i<array.length; i++){
				if(value == array[i]){
					idx = i;
					break;
				}
			}
		}catch(Exception e){
			idx = -1;
		}
		return idx;
	}	
	
	
	/**
	 * 주어진 문자열의 순서를 뒤집는 메소드
	 * 
	 * @param s
	 * @return
	 */
	public static String reverseString(String s) {
		return ( new StringBuffer(s) ).reverse().toString();
	 }	
	
	/**
	 * 파일 저장 메소드<br><br>
	 * 
	 * @param path
	 * @param name
	 * @param contents
	 * @param append
	 * @return
	 */
	public static boolean fileSave(String path, String name, byte[] contents, boolean append){
		boolean result = true;
		FileOutputStream fos = null;
		try{
			File filePath = new File(path);
			if(!filePath.exists()){
				filePath.mkdir();
			}
			
			fos = new FileOutputStream(new File(path+File.separator+name), append);
			fos.write(contents);
			
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			if(fos != null){
				try{
					fos.close();
				}catch(Exception e){}
				fos = null;
			}
		}
		return result;
	} 
	
	/**
	 * 파일 저장 메소드<br><br>
	 * 
	 * @param path
	 * @param name
	 * @param contents
	 * @param append
	 * @return
	 */
	public static boolean fileSave(String path, String name, String contents, boolean append){
		return fileSave(path, name, contents.getBytes(), append);
	}
	
	/**
	 * 파일 저장 메소드<br><br>
	 * 
	 * @param path
	 * @param name
	 * @param contents
	 * @return
	 */
	public static boolean fileSave(String path, String name, String contents){
		return fileSave(path, name, contents.getBytes(), true);
	}	
}
